package com.yanfan.energy.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 生产记录表(BatchSegmentation)实体类
 *
 * @author makejava
 * @since 2023-01-09 10:04:02
 */
public class BatchSegmentation implements Serializable {
    private static final long serialVersionUID = -29527292162819972L;
    /**
     * 主键
     */
    private Long id;
    /**
     * 分段编号
     */
    private Long batchId;
    /**
     * 车间编号
     */
    private Long workshopId;
    /**
     * 厂区编号
     */
    private Long factoryId;
    /**
     * 批次编号
     */
    private String batchNumber;
    /**
     * 生产数量
     */
    private String productionDuration;
    /**
     * 段号
     */
    private String segmentNumber;
    /**
     * 状态
     *
     * @author caijinkang
     * @date 2023/2/7 14:11
     * @param null
     * @return null
     */
    private Integer state;
    /**
     * 状态名称
     *
     * @author caijinkang
     * @date 2023/2/7 14:11
     * @param null
     * @return null
     */
    private String stateName;
    /**
     * 分段编号
     *
     * @author caijinkang
     * @date 2023/2/7 14:11
     * @param null
     * @return null
     */
    private String segmentName;
    /**
     * 长度
     */
    private Double segmentLength;
    /**
     * 重量
     */
    private Double segmentWeight;
    /**
     * 面积
     */
    private Double segmentArea;
    /**
     * 规格
     */
    private String specification;
    /**
     * 备注
     */
    private String remarks;
    /**
     * 工艺编号
     */
    private String craftNumber;
    /**
     * 工艺名称
     */
    private String craftName;
    /**
     * 生产编号
     */
    private Long productionNumbe;
    /**
     * 完成日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date finishDate;
    /**
     * 创建人
     */
    private String createdBy;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdDate;
    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastModifiedDate;


    /**
     * 车间名称
     */
    private String workshopName;
    /**
     * 厂区名称
     */
    private String factoryName;

    /**
     * 预计开始
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date beginDate;
    /**
     * 预计结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;

    /**
     * 预计用时
     */
    private String timeConsuming;
    /**
     * 实际开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date factBeginDate;
    /**
     * 实际结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date factEndDate;
    /**
     * 实际用时
     */
    private String timeFact;

    private String planName;
    /**
     * rateProgress 进度
     */
    private Double rateProgress;

    /**
     * 参与人数    partNumber
     */
    private Integer partNumber;

    private Integer taskNumber;

    // 所属订单
    private String orderNumber;

    public BatchSegmentation() {
    }

    public BatchSegmentation(Long id, Long batchId, Long workshopId, Long factoryId, String batchNumber, String productionDuration, String segmentNumber, Integer state, String stateName, String segmentName, Double segmentLength, Double segmentWeight, Double segmentArea, String specification, String remarks, String craftNumber, String craftName, Long productionNumbe, Date finishDate, String createdBy, Date createdDate, Date lastModifiedDate, String workshopName, String factoryName, Date beginDate, Date endDate, String timeConsuming, Date factBeginDate, Date factEndDate, String timeFact) {
        this.id = id;
        this.batchId = batchId;
        this.workshopId = workshopId;
        this.factoryId = factoryId;
        this.batchNumber = batchNumber;
        this.productionDuration = productionDuration;
        this.segmentNumber = segmentNumber;
        this.state = state;
        this.stateName = stateName;
        this.segmentName = segmentName;
        this.segmentLength = segmentLength;
        this.segmentWeight = segmentWeight;
        this.segmentArea = segmentArea;
        this.specification = specification;
        this.remarks = remarks;
        this.craftNumber = craftNumber;
        this.craftName = craftName;
        this.productionNumbe = productionNumbe;
        this.finishDate = finishDate;
        this.createdBy = createdBy;
        this.createdDate = createdDate;
        this.lastModifiedDate = lastModifiedDate;
        this.workshopName = workshopName;
        this.factoryName = factoryName;
        this.beginDate = beginDate;
        this.endDate = endDate;
        this.timeConsuming = timeConsuming;
        this.factBeginDate = factBeginDate;
        this.factEndDate = factEndDate;
        this.timeFact = timeFact;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getBatchId() {
        return batchId;
    }

    public void setBatchId(Long batchId) {
        this.batchId = batchId;
    }

    public Long getWorkshopId() {
        return workshopId;
    }

    public void setWorkshopId(Long workshopId) {
        this.workshopId = workshopId;
    }

    public Long getFactoryId() {
        return factoryId;
    }

    public void setFactoryId(Long factoryId) {
        this.factoryId = factoryId;
    }

    public String getBatchNumber() {
        return batchNumber;
    }

    public void setBatchNumber(String batchNumber) {
        this.batchNumber = batchNumber;
    }

    public String getProductionDuration() {
        return productionDuration;
    }

    public void setProductionDuration(String productionDuration) {
        this.productionDuration = productionDuration;
    }

    public String getSegmentNumber() {
        return segmentNumber;
    }

    public void setSegmentNumber(String segmentNumber) {
        this.segmentNumber = segmentNumber;
    }

    public String getSegmentName() {
        return segmentName;
    }

    public void setSegmentName(String segmentName) {
        this.segmentName = segmentName;
    }

    public Double getSegmentLength() {
        return segmentLength;
    }

    public void setSegmentLength(Double segmentLength) {
        this.segmentLength = segmentLength;
    }

    public Double getSegmentWeight() {
        return segmentWeight;
    }

    public void setSegmentWeight(Double segmentWeight) {
        this.segmentWeight = segmentWeight;
    }

    public Double getSegmentArea() {
        return segmentArea;
    }

    public void setSegmentArea(Double segmentArea) {
        this.segmentArea = segmentArea;
    }

    public String getSpecification() {
        return specification;
    }

    public void setSpecification(String specification) {
        this.specification = specification;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getCraftNumber() {
        return craftNumber;
    }

    public void setCraftNumber(String craftNumber) {
        this.craftNumber = craftNumber;
    }

    public String getCraftName() {
        return craftName;
    }

    public void setCraftName(String craftName) {
        this.craftName = craftName;
    }

    public Long getProductionNumbe() {
        return productionNumbe;
    }

    public void setProductionNumbe(Long productionNumbe) {
        this.productionNumbe = productionNumbe;
    }

    public Date getFinishDate() {
        return finishDate;
    }

    public void setFinishDate(Date finishDate) {
        this.finishDate = finishDate;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Date getCreatedDate() {
        return createdDate;
    }

    public void setCreatedDate(Date createdDate) {
        this.createdDate = createdDate;
    }

    public Date getLastModifiedDate() {
        return lastModifiedDate;
    }

    public void setLastModifiedDate(Date lastModifiedDate) {
        this.lastModifiedDate = lastModifiedDate;
    }

    public String getWorkshopName() {
        return workshopName;
    }

    public void setWorkshopName(String workshopName) {
        this.workshopName = workshopName;
    }

    public String getFactoryName() {
        return factoryName;
    }

    public void setFactoryName(String factoryName) {
        this.factoryName = factoryName;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public String getStateName() {
        return stateName;
    }

    public void setStateName(String stateName) {
        this.stateName = stateName;
    }

    public Date getBeginDate() {
        return beginDate;
    }

    public void setBeginDate(Date beginDate) {
        this.beginDate = beginDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public String getTimeConsuming() {
        return timeConsuming;
    }

    public void setTimeConsuming(String timeConsuming) {
        this.timeConsuming = timeConsuming;
    }

    public Date getFactBeginDate() {
        return factBeginDate;
    }

    public void setFactBeginDate(Date factBeginDate) {
        this.factBeginDate = factBeginDate;
    }

    public Date getFactEndDate() {
        return factEndDate;
    }

    public void setFactEndDate(Date factEndDate) {
        this.factEndDate = factEndDate;
    }

    public String getTimeFact() {
        return timeFact;
    }

    public void setTimeFact(String timeFact) {
        this.timeFact = timeFact;
    }

    public String getPlanName() {
        return planName;
    }

    public void setPlanName(String planName) {
        this.planName = planName;
    }

    public Double getRateProgress() {
        return rateProgress;
    }

    public void setRateProgress(Double rateProgress) {
        this.rateProgress = rateProgress;
    }

    public Integer getPartNumber() {
        return partNumber;
    }

    public void setPartNumber(Integer partNumber) {
        this.partNumber = partNumber;
    }

    public Integer getTaskNumber() {
        return taskNumber;
    }

    public void setTaskNumber(Integer taskNumber) {
        this.taskNumber = taskNumber;
    }

    public String getOrderNumber() {
        return orderNumber;
    }

    public void setOrderNumber(String orderNumber) {
        this.orderNumber = orderNumber;
    }

    @Override
    public String toString() {
        return "BatchSegmentation{" + "id=" + id + ", batchId=" + batchId + ", workshopId=" + workshopId + ", factoryId=" + factoryId + ", batchNumber='" + batchNumber + '\'' + ", productionDuration='" + productionDuration + '\'' + ", segmentNumber='" + segmentNumber + '\'' + ", state=" + state + ", stateName='" + stateName + '\'' + ", segmentName='" + segmentName + '\'' + ", segmentLength=" + segmentLength + ", segmentWeight=" + segmentWeight + ", segmentArea=" + segmentArea + ", specification='" + specification + '\'' + ", remarks='" + remarks + '\'' + ", craftNumber='" + craftNumber + '\'' + ", craftName='" + craftName + '\'' + ", productionNumbe=" + productionNumbe + ", finishDate=" + finishDate + ", createdBy='" + createdBy + '\'' + ", createdDate=" + createdDate + ", lastModifiedDate=" + lastModifiedDate + ", workshopName='" + workshopName + '\'' + ", factoryName='" + factoryName + '\'' + ", beginDate=" + beginDate + ", endDate=" + endDate + ", timeConsuming='" + timeConsuming + '\'' + ", factBeginDate=" + factBeginDate + ", factEndDate=" + factEndDate + ", timeFact='" + timeFact + '\'' + '}';
    }
}

